package com.bdq.content.application.service;

import com.bdq.common.entity.common.PageResult;
import com.bdq.content.application.model.dto.ContentDetailAppDTO;
import com.bdq.content.application.model.dto.ContentListAppDTO;
import com.bdq.content.application.model.query.ContentDetailQry;
import com.bdq.content.application.model.query.ContentQueryQry;
import com.bdq.content.application.model.query.ContentSearchQry;
import com.bdq.content.application.model.query.UserPostPageQry;

import java.util.List;

/**
 * @author malei
 * @date 2024-05-10 16:21
 */
public interface ContentQueryService {

    /**
     * 详情
     *
     * @param qry
     * @return
     */
    ContentDetailAppDTO detail(ContentDetailQry qry);

    /**
     * 列表查询内容
     *
     *
     * @param userId
     * @param contentIds
     * @return
     */
    List<ContentListAppDTO> listContent(Long userId, List<Long> contentIds);

    /**
     * 内容搜索
     *
     * @param qry
     * @return
     */
    PageResult<Long> contentSearch(ContentSearchQry qry);

    /**
     * 内容查询
     *
     * @param qry
     * @return
     */
    PageResult<Long> contentQuery(ContentQueryQry qry);

    /**
     * 分页查询用户发布内容
     *
     * @param qry
     * @return
     */
    PageResult<Long> pageUserPost(UserPostPageQry qry);
}
